home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
- <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
- <!-- $Revision: 1.7.2.6 $ -->
-
- <!--
- Copyright 2002-2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
- <modulesynopsis metafile="mod_auth.xml.meta">
-
- <name>mod_auth</name>
- <description>User authentication using text files</description>
- <status>Base</status>
- <sourcefile>mod_auth.c</sourcefile>
- <identifier>auth_module</identifier>
- <compatibility>Available only in versions prior to 2.1</compatibility>
-
- <summary>
- <p>This module allows the use of HTTP Basic Authentication to
- restrict access by looking up users in plain text password and
- group files. Similar functionality and greater scalability is
- provided by <module>mod_auth_dbm</module>. HTTP Digest
- Authentication is provided by <module>mod_auth_digest</module>.</p>
- </summary>
- <seealso><directive module="core">Require</directive></seealso>
- <seealso><directive module="core">Satisfy</directive></seealso>
- <seealso><directive module="core">AuthName</directive></seealso>
- <seealso><directive module="core">AuthType</directive></seealso>
-
- <directivesynopsis>
- <name>AuthGroupFile</name>
- <description>Sets the name of a text file containing the list
- of user groups for authentication</description>
- <syntax>AuthGroupFile <var>file-path</var></syntax>
- <contextlist><context>directory</context><context>.htaccess</context>
- </contextlist>
- <override>AuthConfig</override>
-
- <usage>
- <p>The <directive>AuthGroupFile</directive> directive sets the
- name of a textual file containing the list of user groups for user
- authentication. <var>File-path</var> is the path to the group
- file. If it is not absolute, it is treated as relative to the <directive
- module="core">ServerRoot</directive>.</p>
-
- <p>Each line of the group file contains a groupname followed by a
- colon, followed by the member usernames separated by spaces.</p>
-
- <example><title>Example:</title>
- mygroup: bob joe anne
- </example>
-
- <p>Note that searching large text files is <em>very</em>
- inefficient; <directive module="mod_auth_dbm"
- >AuthDBMGroupFile</directive> provides a much better performance.</p>
-
- <note type="warning"><title>Security</title>
- <p>Make sure that the <directive>AuthGroupFile</directive> is
- stored outside the document tree of the web-server; do <em>not</em>
- put it in the directory that it protects. Otherwise, clients may
- be able to download the <directive>AuthGroupFile</directive>.</p>
- </note>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>AuthUserFile</name>
- <description>Sets the name of a text file containing the list of users and
- passwords for authentication</description>
- <syntax>AuthUserFile <var>file-path</var></syntax>
- <contextlist><context>directory</context><context>.htaccess</context>
- </contextlist>
- <override>AuthConfig</override>
-
- <usage>
- <p>The <directive>AuthUserFile</directive> directive sets the name
- of a textual file containing the list of users and passwords for
- user authentication. <var>File-path</var> is the path to the user
- file. If it is not absolute (<em>i.e.</em>, if it doesn't begin
- with a slash), it is treated as relative to the <directive
- module="core">ServerRoot</directive>.</p>
-
- <p>Each line of the user file contains a username followed by
- a colon, followed by the encrypted password. If the same user
- ID is defined multiple times, <module>mod_auth</module> will
- use the first occurrence to verify the password.</p>
-
- <p>The utility <a href="../programs/htpasswd.html">htpasswd</a>
- which is installed as part of the binary distribution, or which
- can be found in <code>src/support</code>, is used to maintain
- this password file. See the <a href="../programs/htpasswd.html">man
- page</a> for more details. In short:</p>
-
- <p>Create a password file <code>Filename</code> with
- <code>username</code> as the initial ID. It will prompt for the
- password:</p>
-
- <example>
- htpasswd -c Filename username
- </example>
-
- <p>Add or modify <code>username2</code> in the password file
- <code>Filename</code>:</p>
-
- <example>
- htpasswd Filename username2
- </example>
-
- <p>Note that searching large text files is <em>very</em>
- inefficient; <directive
- module="mod_auth_dbm">AuthDBMUserFile</directive> should be used
- instead.</p>
-
- <note type="warning"><title>Security</title>
- <p>Make sure that the <directive>AuthUserFile</directive> is
- stored outside the document tree of the web-server. Do
- <strong>not</strong> put it in the directory that it protects.
- Otherwise, clients may be able to download the
- <directive>AuthUserFile</directive>.</p>
- </note>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>AuthAuthoritative</name>
- <description>Sets whether authorization and authentication are
- passed to lower level modules</description>
- <syntax>AuthAuthoritative On|Off</syntax>
- <default>AuthAuthoritative On</default>
- <contextlist><context>directory</context><context>.htaccess</context>
- </contextlist>
- <override>AuthConfig</override>
-
- <usage>
- <p>Setting the <directive>AuthAuthoritative</directive> directive
- explicitly to <code>Off</code> allows for both authentication and
- authorization to be passed on to lower level modules (as defined in the
- <code>modules.c</code> files) if there is <strong>no userID</strong>
- or <strong>rule</strong> matching the supplied userID. If there is a
- userID and/or rule specified; the usual password and access checks
- will be applied and a failure will give an "Authentication Required"
- reply.</p>
-
- <p>So if a userID appears in the database of more than one module;
- or if a valid <directive module="core">Require</directive>
- directive applies to more than one module; then the first module
- will verify the credentials; and no access is passed on;
- regardless of the <directive>AuthAuthoritative</directive> setting.</p>
-
- <p>A common use for this is in conjunction with one of the
- database modules; such as <module>mod_auth_dbm</module>,
- <code>mod_auth_msql</code>, and <module>mod_auth_anon</module>.
- These modules supply the bulk of the user credential checking; but
- a few (administrator) related accesses fall through to a lower
- level with a well protected <directive
- module="mod_auth">AuthUserFile</directive>.</p>
-
- <p>By default control is not passed on and an unknown userID or
- rule will result in an "Authentication Required" reply. Not setting
- it thus keeps the system secure and forces an NCSA compliant
- behaviour.</p>
-
- <note type="warning"><title>Security</title>
- <p>Do consider the implications of allowing a user to allow
- fall-through in his .htaccess file; and verify that this is really
- what you want; Generally it is easier to just secure a single
- .htpasswd file, than it is to secure a database such as mSQL.
- Make sure that the <directive module="mod_auth"
- >AuthUserFile</directive> and the <directive module="mod_auth"
- >AuthGroupFile</directive> are stored outside the document tree of
- the web-server; do <em>not</em> put them in the directory that they
- protect. Otherwise, clients will be able to download the <directive
- module="mod_auth">AuthUserFile</directive> and the <directive
- module="mod_auth">AuthGroupFile</directive>.</p>
- </note>
- </usage>
- </directivesynopsis>
-
- </modulesynopsis>
-